In modern scalable computing systems a common topology has three (logical and/or physical) tiers: (i) a presentation tier characterised by multiple workstations focusing on user interactions, (ii) a business tier characterised by multiple servers executing application/business logic, (iii) a data tier characterised by multiple databases working on data storage and organization. The physical systems are interconnected by a communications network, examples being Local or Wide Area Networks (LAN/WAN).
Such computing systems find application in many and varied fields, ranging from university research and teaching facilities to business applications. In fact, almost every business will utilise such a system to transact its functions and serve its clients. For example, a system may be used to control inventory, for image processing and accounts purposes, and for servicing client's enquiries. Many businesses have very large client bases and may provide an extensive inventory of goods and services. One illustrative example is a telecommunications service provider (Telco) that serves a countrywide client base. The Telco's subscribers thus can number in the millions, and each customer will expect a near immediate response from a Customer Service Representative (CSR) to any inquiry, which can range from billing information, a request for a new service, or the placing of orders for a product.
Similar examples are seen in Utilities, insurance companies, banks, hospitals, law firms, accountancy firms, stock exchanges, universities and Government agencies, to name but a few.
In the course of developing large-scale client server computing systems, an important part of the design process is to determine whether performance criteria such as (i) the average response time of a nominated transaction, and (ii) the proportion of CPU time (Client, Server or Database) taken by a nominated transaction, are met. These determinations can lead to the conclusion that the computing hardware is correctly sized.
A known technique of performance testing is termed ‘stress testing’ or ‘Benchmarking’, by which simulated transaction records are ‘fed’ to the server computer, and as that loading is increased, performance criteria are measured.
Two specific examples of stress testing known in the prior art are disclosed in Published Japanese Application No. 10-187495 (NEC Corp), entitled “Method and Device for Evaluating High-load Emulation Performance”, and in U.S. Pat. No. 5,790,425 (Wagle, assigned to Sun Microsystems, Inc.), issued on Aug. 4, 1998, entitled “Generic Server Benchmarking Framework in Client Server Environment”. Both of these prior art documents offer only an approximation of actual loading due to execution of the live application.
It is an object of the invention to at least address this shortcoming.